<?php
class VideoWechatVo extends SzAbstractMySqlVo
{

    private $userId;
    private $videoId;
    private $claimCount;
    private $lastClaimTime;

    /**
     * Initialize VideoWechatVo.
     *
     * @param $userId
     * @param $videoId
     * @param $claimCount
     * @param $lastClaimTime
     * @param boolean $isInsert default false, means for now this vo is initialized not for insert process
     * @return VideoWechatVo
     */
    public function __construct($userId, $videoId, $claimCount, $lastClaimTime, $isInsert = false) {
        $this->userId = $userId;
        $this->videoId = $videoId;
        $this->claimCount = $claimCount;
        $this->lastClaimTime = $lastClaimTime;

        $this->isInsert = $isInsert;
        $this->voClassName = 'VideoWechatVo';
        $this->ormName = 'VideoWechat';
    }

    /**
     * @see SzAbstractVo::toArray
     */
    public function toArray($needEncode = false)
    {
        return array(
            'userId' => $this->getUserId(),
            'videoId' => $this->getVideoId(),
            'claimCount' => $this->getClaimCount(),
            'lastClaimTime' => $this->getLastClaimTime(),
        );
    }

    /**
     * @see SzAbstractVo::toEntireArray
     */
    public function toEntireArray($needEncode = false)
    {
        return array(
            'userId' => $this->getUserId(),
            'videoId' => $this->getVideoId(),
            'claimCount' => $this->getClaimCount(),
            'lastClaimTime' => $this->getLastClaimTime(),
        );
    }

    /**
     * @see SzAbstractVo::toPureArray
     */
    public function toPureArray()
    {
        return array(
            $this->getUserId(),
            $this->getVideoId(),
            $this->getClaimCount(),
            $this->getLastClaimTime(),
        );
    }

    public function getUserId()
    {
        return $this->userId;
    }

    public function setUserId($val)
    {
        $this->saveColumnStatus(0, $this->userId);
        $this->userId = $val;
    }

    public function getVideoId()
    {
        return $this->videoId;
    }

    public function setVideoId($val)
    {
        $this->saveColumnStatus(1, $this->videoId);
        $this->videoId = $val;
    }

    public function getClaimCount()
    {
        return $this->claimCount;
    }

    public function setClaimCount($val)
    {
        $this->saveColumnStatus(2, $this->claimCount);
        $this->claimCount = $val;
    }

    public function getLastClaimTime()
    {
        return $this->lastClaimTime;
    }

    public function setLastClaimTime($val)
    {
        $this->saveColumnStatus(3, $this->lastClaimTime);
        $this->lastClaimTime = $val;
    }

}